package com.example.hello.service;

import com.example.hello.pojo.Book;
import com.example.hello.pojo.Res;
import com.example.hello.pojo.UserBook;

import java.util.List;

public interface BorrowService {
    /**
     * 借阅图书
     * @param userId 用户ID
     * @param bookId 图书ID
     * @return 借阅成功返回对应的 UserBook 记录，否则抛出异常
     */
    UserBook borrowBook(Long userId, Integer bookId);

    /**
     * 根据用户ID获取该用户借阅的所有图书
     */
    List<Book> getBorrowedBooksByUserId(Long userId);

    /**
     * 还书接口：将指定用户借阅的图书标记为已归还，并将图书库存加 1
     *
     * @param userId 用户ID
     * @param bookId 图书ID
     * @return 操作结果
     */
    Res returnBook(Long userId, Integer bookId);

    /**
     * 根据图书isbn查找图书id
     * @param userId
     * @param bookIsbn
     * @return
     */
    Integer findBookIdByIsbn(Long userId, String bookIsbn);

    List<Book> getAllBorrowedBooksByUserId(Long userId);

    List<Book> getAllReturnedBooksByUserId(Long userId);
}